/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: storage-hbase/src/main/java/org/apache/kylin/storage/hbase/ii/coprocessor/endpoint/protobuf/II.proto

package org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated;

public final class IIProtos {
  private IIProtos() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  public interface IIRequestOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes type = 1;
    /**
     * <code>required bytes type = 1;</code>
     */
    boolean hasType();
    /**
     * <code>required bytes type = 1;</code>
     */
    com.google.protobuf.ByteString getType();

    // required bytes filter = 2;
    /**
     * <code>required bytes filter = 2;</code>
     */
    boolean hasFilter();
    /**
     * <code>required bytes filter = 2;</code>
     */
    com.google.protobuf.ByteString getFilter();

    // required bytes projector = 3;
    /**
     * <code>required bytes projector = 3;</code>
     */
    boolean hasProjector();
    /**
     * <code>required bytes projector = 3;</code>
     */
    com.google.protobuf.ByteString getProjector();

    // required bytes aggregator = 4;
    /**
     * <code>required bytes aggregator = 4;</code>
     */
    boolean hasAggregator();
    /**
     * <code>required bytes aggregator = 4;</code>
     */
    com.google.protobuf.ByteString getAggregator();

    // optional bytes tsRange = 5;
    /**
     * <code>optional bytes tsRange = 5;</code>
     */
    boolean hasTsRange();
    /**
     * <code>optional bytes tsRange = 5;</code>
     */
    com.google.protobuf.ByteString getTsRange();
  }
  /**
   * Protobuf type {@code IIRequest}
   */
  public static final class IIRequest extends
      com.google.protobuf.GeneratedMessage
      implements IIRequestOrBuilder {
    // Use IIRequest.newBuilder() to construct.
    private IIRequest(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IIRequest(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IIRequest defaultInstance;
    public static IIRequest getDefaultInstance() {
      return defaultInstance;
    }

    public IIRequest getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IIRequest(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              type_ = input.readBytes();
              break;
            }
            case 18: {
              bitField0_ |= 0x00000002;
              filter_ = input.readBytes();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              projector_ = input.readBytes();
              break;
            }
            case 34: {
              bitField0_ |= 0x00000008;
              aggregator_ = input.readBytes();
              break;
            }
            case 42: {
              bitField0_ |= 0x00000010;
              tsRange_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIRequest_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.Builder.class);
    }

    public static com.google.protobuf.Parser<IIRequest> PARSER =
        new com.google.protobuf.AbstractParser<IIRequest>() {
      public IIRequest parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IIRequest(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<IIRequest> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bytes type = 1;
    public static final int TYPE_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString type_;
    /**
     * <code>required bytes type = 1;</code>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes type = 1;</code>
     */
    public com.google.protobuf.ByteString getType() {
      return type_;
    }

    // required bytes filter = 2;
    public static final int FILTER_FIELD_NUMBER = 2;
    private com.google.protobuf.ByteString filter_;
    /**
     * <code>required bytes filter = 2;</code>
     */
    public boolean hasFilter() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>required bytes filter = 2;</code>
     */
    public com.google.protobuf.ByteString getFilter() {
      return filter_;
    }

    // required bytes projector = 3;
    public static final int PROJECTOR_FIELD_NUMBER = 3;
    private com.google.protobuf.ByteString projector_;
    /**
     * <code>required bytes projector = 3;</code>
     */
    public boolean hasProjector() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>required bytes projector = 3;</code>
     */
    public com.google.protobuf.ByteString getProjector() {
      return projector_;
    }

    // required bytes aggregator = 4;
    public static final int AGGREGATOR_FIELD_NUMBER = 4;
    private com.google.protobuf.ByteString aggregator_;
    /**
     * <code>required bytes aggregator = 4;</code>
     */
    public boolean hasAggregator() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>required bytes aggregator = 4;</code>
     */
    public com.google.protobuf.ByteString getAggregator() {
      return aggregator_;
    }

    // optional bytes tsRange = 5;
    public static final int TSRANGE_FIELD_NUMBER = 5;
    private com.google.protobuf.ByteString tsRange_;
    /**
     * <code>optional bytes tsRange = 5;</code>
     */
    public boolean hasTsRange() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional bytes tsRange = 5;</code>
     */
    public com.google.protobuf.ByteString getTsRange() {
      return tsRange_;
    }

    private void initFields() {
      type_ = com.google.protobuf.ByteString.EMPTY;
      filter_ = com.google.protobuf.ByteString.EMPTY;
      projector_ = com.google.protobuf.ByteString.EMPTY;
      aggregator_ = com.google.protobuf.ByteString.EMPTY;
      tsRange_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasType()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasFilter()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasProjector()) {
        memoizedIsInitialized = 0;
        return false;
      }
      if (!hasAggregator()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, type_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeBytes(2, filter_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, projector_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBytes(4, aggregator_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBytes(5, tsRange_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, type_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(2, filter_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, projector_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(4, aggregator_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(5, tsRange_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest)) {
        return super.equals(obj);
      }
      org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest other = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest) obj;

      boolean result = true;
      result = result && (hasType() == other.hasType());
      if (hasType()) {
        result = result && getType()
            .equals(other.getType());
      }
      result = result && (hasFilter() == other.hasFilter());
      if (hasFilter()) {
        result = result && getFilter()
            .equals(other.getFilter());
      }
      result = result && (hasProjector() == other.hasProjector());
      if (hasProjector()) {
        result = result && getProjector()
            .equals(other.getProjector());
      }
      result = result && (hasAggregator() == other.hasAggregator());
      if (hasAggregator()) {
        result = result && getAggregator()
            .equals(other.getAggregator());
      }
      result = result && (hasTsRange() == other.hasTsRange());
      if (hasTsRange()) {
        result = result && getTsRange()
            .equals(other.getTsRange());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasType()) {
        hash = (37 * hash) + TYPE_FIELD_NUMBER;
        hash = (53 * hash) + getType().hashCode();
      }
      if (hasFilter()) {
        hash = (37 * hash) + FILTER_FIELD_NUMBER;
        hash = (53 * hash) + getFilter().hashCode();
      }
      if (hasProjector()) {
        hash = (37 * hash) + PROJECTOR_FIELD_NUMBER;
        hash = (53 * hash) + getProjector().hashCode();
      }
      if (hasAggregator()) {
        hash = (37 * hash) + AGGREGATOR_FIELD_NUMBER;
        hash = (53 * hash) + getAggregator().hashCode();
      }
      if (hasTsRange()) {
        hash = (37 * hash) + TSRANGE_FIELD_NUMBER;
        hash = (53 * hash) + getTsRange().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code IIRequest}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequestOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIRequest_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIRequest_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.Builder.class);
      }

      // Construct using org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        type_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        filter_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        projector_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        aggregator_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        tsRange_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIRequest_descriptor;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest getDefaultInstanceForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.getDefaultInstance();
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest build() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest buildPartial() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest result = new org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.type_ = type_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.filter_ = filter_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.projector_ = projector_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.aggregator_ = aggregator_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.tsRange_ = tsRange_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest) {
          return mergeFrom((org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest other) {
        if (other == org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.getDefaultInstance()) return this;
        if (other.hasType()) {
          setType(other.getType());
        }
        if (other.hasFilter()) {
          setFilter(other.getFilter());
        }
        if (other.hasProjector()) {
          setProjector(other.getProjector());
        }
        if (other.hasAggregator()) {
          setAggregator(other.getAggregator());
        }
        if (other.hasTsRange()) {
          setTsRange(other.getTsRange());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasType()) {
          
          return false;
        }
        if (!hasFilter()) {
          
          return false;
        }
        if (!hasProjector()) {
          
          return false;
        }
        if (!hasAggregator()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes type = 1;
      private com.google.protobuf.ByteString type_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes type = 1;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes type = 1;</code>
       */
      public com.google.protobuf.ByteString getType() {
        return type_;
      }
      /**
       * <code>required bytes type = 1;</code>
       */
      public Builder setType(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes type = 1;</code>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000001);
        type_ = getDefaultInstance().getType();
        onChanged();
        return this;
      }

      // required bytes filter = 2;
      private com.google.protobuf.ByteString filter_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes filter = 2;</code>
       */
      public boolean hasFilter() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required bytes filter = 2;</code>
       */
      public com.google.protobuf.ByteString getFilter() {
        return filter_;
      }
      /**
       * <code>required bytes filter = 2;</code>
       */
      public Builder setFilter(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
        filter_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes filter = 2;</code>
       */
      public Builder clearFilter() {
        bitField0_ = (bitField0_ & ~0x00000002);
        filter_ = getDefaultInstance().getFilter();
        onChanged();
        return this;
      }

      // required bytes projector = 3;
      private com.google.protobuf.ByteString projector_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes projector = 3;</code>
       */
      public boolean hasProjector() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>required bytes projector = 3;</code>
       */
      public com.google.protobuf.ByteString getProjector() {
        return projector_;
      }
      /**
       * <code>required bytes projector = 3;</code>
       */
      public Builder setProjector(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        projector_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes projector = 3;</code>
       */
      public Builder clearProjector() {
        bitField0_ = (bitField0_ & ~0x00000004);
        projector_ = getDefaultInstance().getProjector();
        onChanged();
        return this;
      }

      // required bytes aggregator = 4;
      private com.google.protobuf.ByteString aggregator_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes aggregator = 4;</code>
       */
      public boolean hasAggregator() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>required bytes aggregator = 4;</code>
       */
      public com.google.protobuf.ByteString getAggregator() {
        return aggregator_;
      }
      /**
       * <code>required bytes aggregator = 4;</code>
       */
      public Builder setAggregator(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
        aggregator_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes aggregator = 4;</code>
       */
      public Builder clearAggregator() {
        bitField0_ = (bitField0_ & ~0x00000008);
        aggregator_ = getDefaultInstance().getAggregator();
        onChanged();
        return this;
      }

      // optional bytes tsRange = 5;
      private com.google.protobuf.ByteString tsRange_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>optional bytes tsRange = 5;</code>
       */
      public boolean hasTsRange() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional bytes tsRange = 5;</code>
       */
      public com.google.protobuf.ByteString getTsRange() {
        return tsRange_;
      }
      /**
       * <code>optional bytes tsRange = 5;</code>
       */
      public Builder setTsRange(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000010;
        tsRange_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bytes tsRange = 5;</code>
       */
      public Builder clearTsRange() {
        bitField0_ = (bitField0_ & ~0x00000010);
        tsRange_ = getDefaultInstance().getTsRange();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:IIRequest)
    }

    static {
      defaultInstance = new IIRequest(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:IIRequest)
  }

  public interface IIResponseInternalOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // repeated .IIResponseInternal.IIRow rows = 1;
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> 
        getRowsList();
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow getRows(int index);
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    int getRowsCount();
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    java.util.List<? extends org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder> 
        getRowsOrBuilderList();
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder getRowsOrBuilder(
        int index);

    // required .IIResponseInternal.Stats stats = 2;
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    boolean hasStats();
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats getStats();
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder getStatsOrBuilder();
  }
  /**
   * Protobuf type {@code IIResponseInternal}
   */
  public static final class IIResponseInternal extends
      com.google.protobuf.GeneratedMessage
      implements IIResponseInternalOrBuilder {
    // Use IIResponseInternal.newBuilder() to construct.
    private IIResponseInternal(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IIResponseInternal(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IIResponseInternal defaultInstance;
    public static IIResponseInternal getDefaultInstance() {
      return defaultInstance;
    }

    public IIResponseInternal getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IIResponseInternal(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
                rows_ = new java.util.ArrayList<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow>();
                mutable_bitField0_ |= 0x00000001;
              }
              rows_.add(input.readMessage(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.PARSER, extensionRegistry));
              break;
            }
            case 18: {
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder subBuilder = null;
              if (((bitField0_ & 0x00000001) == 0x00000001)) {
                subBuilder = stats_.toBuilder();
              }
              stats_ = input.readMessage(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.PARSER, extensionRegistry);
              if (subBuilder != null) {
                subBuilder.mergeFrom(stats_);
                stats_ = subBuilder.buildPartial();
              }
              bitField0_ |= 0x00000001;
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
          rows_ = java.util.Collections.unmodifiableList(rows_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Builder.class);
    }

    public static com.google.protobuf.Parser<IIResponseInternal> PARSER =
        new com.google.protobuf.AbstractParser<IIResponseInternal>() {
      public IIResponseInternal parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IIResponseInternal(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<IIResponseInternal> getParserForType() {
      return PARSER;
    }

    public interface IIRowOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // required bytes columns = 1;
      /**
       * <code>required bytes columns = 1;</code>
       */
      boolean hasColumns();
      /**
       * <code>required bytes columns = 1;</code>
       */
      com.google.protobuf.ByteString getColumns();

      // optional bytes measures = 2;
      /**
       * <code>optional bytes measures = 2;</code>
       */
      boolean hasMeasures();
      /**
       * <code>optional bytes measures = 2;</code>
       */
      com.google.protobuf.ByteString getMeasures();
    }
    /**
     * Protobuf type {@code IIResponseInternal.IIRow}
     */
    public static final class IIRow extends
        com.google.protobuf.GeneratedMessage
        implements IIRowOrBuilder {
      // Use IIRow.newBuilder() to construct.
      private IIRow(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private IIRow(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final IIRow defaultInstance;
      public static IIRow getDefaultInstance() {
        return defaultInstance;
      }

      public IIRow getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private IIRow(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 10: {
                bitField0_ |= 0x00000001;
                columns_ = input.readBytes();
                break;
              }
              case 18: {
                bitField0_ |= 0x00000002;
                measures_ = input.readBytes();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_IIRow_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_IIRow_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder.class);
      }

      public static com.google.protobuf.Parser<IIRow> PARSER =
          new com.google.protobuf.AbstractParser<IIRow>() {
        public IIRow parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new IIRow(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public com.google.protobuf.Parser<IIRow> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // required bytes columns = 1;
      public static final int COLUMNS_FIELD_NUMBER = 1;
      private com.google.protobuf.ByteString columns_;
      /**
       * <code>required bytes columns = 1;</code>
       */
      public boolean hasColumns() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes columns = 1;</code>
       */
      public com.google.protobuf.ByteString getColumns() {
        return columns_;
      }

      // optional bytes measures = 2;
      public static final int MEASURES_FIELD_NUMBER = 2;
      private com.google.protobuf.ByteString measures_;
      /**
       * <code>optional bytes measures = 2;</code>
       */
      public boolean hasMeasures() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional bytes measures = 2;</code>
       */
      public com.google.protobuf.ByteString getMeasures() {
        return measures_;
      }

      private void initFields() {
        columns_ = com.google.protobuf.ByteString.EMPTY;
        measures_ = com.google.protobuf.ByteString.EMPTY;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        if (!hasColumns()) {
          memoizedIsInitialized = 0;
          return false;
        }
        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeBytes(1, columns_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeBytes(2, measures_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(1, columns_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeBytesSize(2, measures_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow)) {
          return super.equals(obj);
        }
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow other = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow) obj;

        boolean result = true;
        result = result && (hasColumns() == other.hasColumns());
        if (hasColumns()) {
          result = result && getColumns()
              .equals(other.getColumns());
        }
        result = result && (hasMeasures() == other.hasMeasures());
        if (hasMeasures()) {
          result = result && getMeasures()
              .equals(other.getMeasures());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }

      private int memoizedHashCode = 0;
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasColumns()) {
          hash = (37 * hash) + COLUMNS_FIELD_NUMBER;
          hash = (53 * hash) + getColumns().hashCode();
        }
        if (hasMeasures()) {
          hash = (37 * hash) + MEASURES_FIELD_NUMBER;
          hash = (53 * hash) + getMeasures().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code IIResponseInternal.IIRow}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_IIRow_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_IIRow_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder.class);
        }

        // Construct using org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          columns_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000001);
          measures_ = com.google.protobuf.ByteString.EMPTY;
          bitField0_ = (bitField0_ & ~0x00000002);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_IIRow_descriptor;
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow getDefaultInstanceForType() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.getDefaultInstance();
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow build() {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow buildPartial() {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow result = new org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.columns_ = columns_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.measures_ = measures_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow) {
            return mergeFrom((org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow other) {
          if (other == org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.getDefaultInstance()) return this;
          if (other.hasColumns()) {
            setColumns(other.getColumns());
          }
          if (other.hasMeasures()) {
            setMeasures(other.getMeasures());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          if (!hasColumns()) {
            
            return false;
          }
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // required bytes columns = 1;
        private com.google.protobuf.ByteString columns_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * <code>required bytes columns = 1;</code>
         */
        public boolean hasColumns() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>required bytes columns = 1;</code>
         */
        public com.google.protobuf.ByteString getColumns() {
          return columns_;
        }
        /**
         * <code>required bytes columns = 1;</code>
         */
        public Builder setColumns(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
          columns_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>required bytes columns = 1;</code>
         */
        public Builder clearColumns() {
          bitField0_ = (bitField0_ & ~0x00000001);
          columns_ = getDefaultInstance().getColumns();
          onChanged();
          return this;
        }

        // optional bytes measures = 2;
        private com.google.protobuf.ByteString measures_ = com.google.protobuf.ByteString.EMPTY;
        /**
         * <code>optional bytes measures = 2;</code>
         */
        public boolean hasMeasures() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional bytes measures = 2;</code>
         */
        public com.google.protobuf.ByteString getMeasures() {
          return measures_;
        }
        /**
         * <code>optional bytes measures = 2;</code>
         */
        public Builder setMeasures(com.google.protobuf.ByteString value) {
          if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
          measures_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional bytes measures = 2;</code>
         */
        public Builder clearMeasures() {
          bitField0_ = (bitField0_ & ~0x00000002);
          measures_ = getDefaultInstance().getMeasures();
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:IIResponseInternal.IIRow)
      }

      static {
        defaultInstance = new IIRow(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:IIResponseInternal.IIRow)
    }

    public interface StatsOrBuilder
        extends com.google.protobuf.MessageOrBuilder {

      // optional int32 myShard = 1;
      /**
       * <code>optional int32 myShard = 1;</code>
       */
      boolean hasMyShard();
      /**
       * <code>optional int32 myShard = 1;</code>
       */
      int getMyShard();

      // optional int64 latestDataTime = 2;
      /**
       * <code>optional int64 latestDataTime = 2;</code>
       */
      boolean hasLatestDataTime();
      /**
       * <code>optional int64 latestDataTime = 2;</code>
       */
      long getLatestDataTime();

      // optional int64 serviceStartTime = 3;
      /**
       * <code>optional int64 serviceStartTime = 3;</code>
       */
      boolean hasServiceStartTime();
      /**
       * <code>optional int64 serviceStartTime = 3;</code>
       */
      long getServiceStartTime();

      // optional int64 serviceEndTime = 4;
      /**
       * <code>optional int64 serviceEndTime = 4;</code>
       */
      boolean hasServiceEndTime();
      /**
       * <code>optional int64 serviceEndTime = 4;</code>
       */
      long getServiceEndTime();

      // optional int32 scannedSlices = 5;
      /**
       * <code>optional int32 scannedSlices = 5;</code>
       */
      boolean hasScannedSlices();
      /**
       * <code>optional int32 scannedSlices = 5;</code>
       */
      int getScannedSlices();
    }
    /**
     * Protobuf type {@code IIResponseInternal.Stats}
     *
     * <pre>
     *all entries in this struct be optional to conveniently add more entries in the future
     * </pre>
     */
    public static final class Stats extends
        com.google.protobuf.GeneratedMessage
        implements StatsOrBuilder {
      // Use Stats.newBuilder() to construct.
      private Stats(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
        super(builder);
        this.unknownFields = builder.getUnknownFields();
      }
      private Stats(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

      private static final Stats defaultInstance;
      public static Stats getDefaultInstance() {
        return defaultInstance;
      }

      public Stats getDefaultInstanceForType() {
        return defaultInstance;
      }

      private final com.google.protobuf.UnknownFieldSet unknownFields;
      @java.lang.Override
      public final com.google.protobuf.UnknownFieldSet
          getUnknownFields() {
        return this.unknownFields;
      }
      private Stats(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        initFields();
        int mutable_bitField0_ = 0;
        com.google.protobuf.UnknownFieldSet.Builder unknownFields =
            com.google.protobuf.UnknownFieldSet.newBuilder();
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              default: {
                if (!parseUnknownField(input, unknownFields,
                                       extensionRegistry, tag)) {
                  done = true;
                }
                break;
              }
              case 8: {
                bitField0_ |= 0x00000001;
                myShard_ = input.readInt32();
                break;
              }
              case 16: {
                bitField0_ |= 0x00000002;
                latestDataTime_ = input.readInt64();
                break;
              }
              case 24: {
                bitField0_ |= 0x00000004;
                serviceStartTime_ = input.readInt64();
                break;
              }
              case 32: {
                bitField0_ |= 0x00000008;
                serviceEndTime_ = input.readInt64();
                break;
              }
              case 40: {
                bitField0_ |= 0x00000010;
                scannedSlices_ = input.readInt32();
                break;
              }
            }
          }
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(this);
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(
              e.getMessage()).setUnfinishedMessage(this);
        } finally {
          this.unknownFields = unknownFields.build();
          makeExtensionsImmutable();
        }
      }
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_Stats_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_Stats_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder.class);
      }

      public static com.google.protobuf.Parser<Stats> PARSER =
          new com.google.protobuf.AbstractParser<Stats>() {
        public Stats parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          return new Stats(input, extensionRegistry);
        }
      };

      @java.lang.Override
      public com.google.protobuf.Parser<Stats> getParserForType() {
        return PARSER;
      }

      private int bitField0_;
      // optional int32 myShard = 1;
      public static final int MYSHARD_FIELD_NUMBER = 1;
      private int myShard_;
      /**
       * <code>optional int32 myShard = 1;</code>
       */
      public boolean hasMyShard() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 myShard = 1;</code>
       */
      public int getMyShard() {
        return myShard_;
      }

      // optional int64 latestDataTime = 2;
      public static final int LATESTDATATIME_FIELD_NUMBER = 2;
      private long latestDataTime_;
      /**
       * <code>optional int64 latestDataTime = 2;</code>
       */
      public boolean hasLatestDataTime() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int64 latestDataTime = 2;</code>
       */
      public long getLatestDataTime() {
        return latestDataTime_;
      }

      // optional int64 serviceStartTime = 3;
      public static final int SERVICESTARTTIME_FIELD_NUMBER = 3;
      private long serviceStartTime_;
      /**
       * <code>optional int64 serviceStartTime = 3;</code>
       */
      public boolean hasServiceStartTime() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int64 serviceStartTime = 3;</code>
       */
      public long getServiceStartTime() {
        return serviceStartTime_;
      }

      // optional int64 serviceEndTime = 4;
      public static final int SERVICEENDTIME_FIELD_NUMBER = 4;
      private long serviceEndTime_;
      /**
       * <code>optional int64 serviceEndTime = 4;</code>
       */
      public boolean hasServiceEndTime() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional int64 serviceEndTime = 4;</code>
       */
      public long getServiceEndTime() {
        return serviceEndTime_;
      }

      // optional int32 scannedSlices = 5;
      public static final int SCANNEDSLICES_FIELD_NUMBER = 5;
      private int scannedSlices_;
      /**
       * <code>optional int32 scannedSlices = 5;</code>
       */
      public boolean hasScannedSlices() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional int32 scannedSlices = 5;</code>
       */
      public int getScannedSlices() {
        return scannedSlices_;
      }

      private void initFields() {
        myShard_ = 0;
        latestDataTime_ = 0L;
        serviceStartTime_ = 0L;
        serviceEndTime_ = 0L;
        scannedSlices_ = 0;
      }
      private byte memoizedIsInitialized = -1;
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized != -1) return isInitialized == 1;

        memoizedIsInitialized = 1;
        return true;
      }

      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        getSerializedSize();
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          output.writeInt32(1, myShard_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          output.writeInt64(2, latestDataTime_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          output.writeInt64(3, serviceStartTime_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          output.writeInt64(4, serviceEndTime_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          output.writeInt32(5, scannedSlices_);
        }
        getUnknownFields().writeTo(output);
      }

      private int memoizedSerializedSize = -1;
      public int getSerializedSize() {
        int size = memoizedSerializedSize;
        if (size != -1) return size;

        size = 0;
        if (((bitField0_ & 0x00000001) == 0x00000001)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(1, myShard_);
        }
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(2, latestDataTime_);
        }
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(3, serviceStartTime_);
        }
        if (((bitField0_ & 0x00000008) == 0x00000008)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt64Size(4, serviceEndTime_);
        }
        if (((bitField0_ & 0x00000010) == 0x00000010)) {
          size += com.google.protobuf.CodedOutputStream
            .computeInt32Size(5, scannedSlices_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSerializedSize = size;
        return size;
      }

      private static final long serialVersionUID = 0L;
      @java.lang.Override
      protected java.lang.Object writeReplace()
          throws java.io.ObjectStreamException {
        return super.writeReplace();
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats)) {
          return super.equals(obj);
        }
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats other = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats) obj;

        boolean result = true;
        result = result && (hasMyShard() == other.hasMyShard());
        if (hasMyShard()) {
          result = result && (getMyShard()
              == other.getMyShard());
        }
        result = result && (hasLatestDataTime() == other.hasLatestDataTime());
        if (hasLatestDataTime()) {
          result = result && (getLatestDataTime()
              == other.getLatestDataTime());
        }
        result = result && (hasServiceStartTime() == other.hasServiceStartTime());
        if (hasServiceStartTime()) {
          result = result && (getServiceStartTime()
              == other.getServiceStartTime());
        }
        result = result && (hasServiceEndTime() == other.hasServiceEndTime());
        if (hasServiceEndTime()) {
          result = result && (getServiceEndTime()
              == other.getServiceEndTime());
        }
        result = result && (hasScannedSlices() == other.hasScannedSlices());
        if (hasScannedSlices()) {
          result = result && (getScannedSlices()
              == other.getScannedSlices());
        }
        result = result &&
            getUnknownFields().equals(other.getUnknownFields());
        return result;
      }

      private int memoizedHashCode = 0;
      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptorForType().hashCode();
        if (hasMyShard()) {
          hash = (37 * hash) + MYSHARD_FIELD_NUMBER;
          hash = (53 * hash) + getMyShard();
        }
        if (hasLatestDataTime()) {
          hash = (37 * hash) + LATESTDATATIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getLatestDataTime());
        }
        if (hasServiceStartTime()) {
          hash = (37 * hash) + SERVICESTARTTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getServiceStartTime());
        }
        if (hasServiceEndTime()) {
          hash = (37 * hash) + SERVICEENDTIME_FIELD_NUMBER;
          hash = (53 * hash) + hashLong(getServiceEndTime());
        }
        if (hasScannedSlices()) {
          hash = (37 * hash) + SCANNEDSLICES_FIELD_NUMBER;
          hash = (53 * hash) + getScannedSlices();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseDelimitedFrom(input, extensionRegistry);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return PARSER.parseFrom(input);
      }
      public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return PARSER.parseFrom(input, extensionRegistry);
      }

      public static Builder newBuilder() { return Builder.create(); }
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats prototype) {
        return newBuilder().mergeFrom(prototype);
      }
      public Builder toBuilder() { return newBuilder(this); }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code IIResponseInternal.Stats}
       *
       * <pre>
       *all entries in this struct be optional to conveniently add more entries in the future
       * </pre>
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessage.Builder<Builder>
         implements org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_Stats_descriptor;
        }

        protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_Stats_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder.class);
        }

        // Construct using org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.newBuilder()
        private Builder() {
          maybeForceBuilderInitialization();
        }

        private Builder(
            com.google.protobuf.GeneratedMessage.BuilderParent parent) {
          super(parent);
          maybeForceBuilderInitialization();
        }
        private void maybeForceBuilderInitialization() {
          if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          }
        }
        private static Builder create() {
          return new Builder();
        }

        public Builder clear() {
          super.clear();
          myShard_ = 0;
          bitField0_ = (bitField0_ & ~0x00000001);
          latestDataTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000002);
          serviceStartTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000004);
          serviceEndTime_ = 0L;
          bitField0_ = (bitField0_ & ~0x00000008);
          scannedSlices_ = 0;
          bitField0_ = (bitField0_ & ~0x00000010);
          return this;
        }

        public Builder clone() {
          return create().mergeFrom(buildPartial());
        }

        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_Stats_descriptor;
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats getDefaultInstanceForType() {
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance();
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats build() {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats buildPartial() {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats result = new org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats(this);
          int from_bitField0_ = bitField0_;
          int to_bitField0_ = 0;
          if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
            to_bitField0_ |= 0x00000001;
          }
          result.myShard_ = myShard_;
          if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
            to_bitField0_ |= 0x00000002;
          }
          result.latestDataTime_ = latestDataTime_;
          if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
            to_bitField0_ |= 0x00000004;
          }
          result.serviceStartTime_ = serviceStartTime_;
          if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
            to_bitField0_ |= 0x00000008;
          }
          result.serviceEndTime_ = serviceEndTime_;
          if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
            to_bitField0_ |= 0x00000010;
          }
          result.scannedSlices_ = scannedSlices_;
          result.bitField0_ = to_bitField0_;
          onBuilt();
          return result;
        }

        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats) {
            return mergeFrom((org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats other) {
          if (other == org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance()) return this;
          if (other.hasMyShard()) {
            setMyShard(other.getMyShard());
          }
          if (other.hasLatestDataTime()) {
            setLatestDataTime(other.getLatestDataTime());
          }
          if (other.hasServiceStartTime()) {
            setServiceStartTime(other.getServiceStartTime());
          }
          if (other.hasServiceEndTime()) {
            setServiceEndTime(other.getServiceEndTime());
          }
          if (other.hasScannedSlices()) {
            setScannedSlices(other.getScannedSlices());
          }
          this.mergeUnknownFields(other.getUnknownFields());
          return this;
        }

        public final boolean isInitialized() {
          return true;
        }

        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats parsedMessage = null;
          try {
            parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            parsedMessage = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats) e.getUnfinishedMessage();
            throw e;
          } finally {
            if (parsedMessage != null) {
              mergeFrom(parsedMessage);
            }
          }
          return this;
        }
        private int bitField0_;

        // optional int32 myShard = 1;
        private int myShard_ ;
        /**
         * <code>optional int32 myShard = 1;</code>
         */
        public boolean hasMyShard() {
          return ((bitField0_ & 0x00000001) == 0x00000001);
        }
        /**
         * <code>optional int32 myShard = 1;</code>
         */
        public int getMyShard() {
          return myShard_;
        }
        /**
         * <code>optional int32 myShard = 1;</code>
         */
        public Builder setMyShard(int value) {
          bitField0_ |= 0x00000001;
          myShard_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 myShard = 1;</code>
         */
        public Builder clearMyShard() {
          bitField0_ = (bitField0_ & ~0x00000001);
          myShard_ = 0;
          onChanged();
          return this;
        }

        // optional int64 latestDataTime = 2;
        private long latestDataTime_ ;
        /**
         * <code>optional int64 latestDataTime = 2;</code>
         */
        public boolean hasLatestDataTime() {
          return ((bitField0_ & 0x00000002) == 0x00000002);
        }
        /**
         * <code>optional int64 latestDataTime = 2;</code>
         */
        public long getLatestDataTime() {
          return latestDataTime_;
        }
        /**
         * <code>optional int64 latestDataTime = 2;</code>
         */
        public Builder setLatestDataTime(long value) {
          bitField0_ |= 0x00000002;
          latestDataTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 latestDataTime = 2;</code>
         */
        public Builder clearLatestDataTime() {
          bitField0_ = (bitField0_ & ~0x00000002);
          latestDataTime_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 serviceStartTime = 3;
        private long serviceStartTime_ ;
        /**
         * <code>optional int64 serviceStartTime = 3;</code>
         */
        public boolean hasServiceStartTime() {
          return ((bitField0_ & 0x00000004) == 0x00000004);
        }
        /**
         * <code>optional int64 serviceStartTime = 3;</code>
         */
        public long getServiceStartTime() {
          return serviceStartTime_;
        }
        /**
         * <code>optional int64 serviceStartTime = 3;</code>
         */
        public Builder setServiceStartTime(long value) {
          bitField0_ |= 0x00000004;
          serviceStartTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 serviceStartTime = 3;</code>
         */
        public Builder clearServiceStartTime() {
          bitField0_ = (bitField0_ & ~0x00000004);
          serviceStartTime_ = 0L;
          onChanged();
          return this;
        }

        // optional int64 serviceEndTime = 4;
        private long serviceEndTime_ ;
        /**
         * <code>optional int64 serviceEndTime = 4;</code>
         */
        public boolean hasServiceEndTime() {
          return ((bitField0_ & 0x00000008) == 0x00000008);
        }
        /**
         * <code>optional int64 serviceEndTime = 4;</code>
         */
        public long getServiceEndTime() {
          return serviceEndTime_;
        }
        /**
         * <code>optional int64 serviceEndTime = 4;</code>
         */
        public Builder setServiceEndTime(long value) {
          bitField0_ |= 0x00000008;
          serviceEndTime_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int64 serviceEndTime = 4;</code>
         */
        public Builder clearServiceEndTime() {
          bitField0_ = (bitField0_ & ~0x00000008);
          serviceEndTime_ = 0L;
          onChanged();
          return this;
        }

        // optional int32 scannedSlices = 5;
        private int scannedSlices_ ;
        /**
         * <code>optional int32 scannedSlices = 5;</code>
         */
        public boolean hasScannedSlices() {
          return ((bitField0_ & 0x00000010) == 0x00000010);
        }
        /**
         * <code>optional int32 scannedSlices = 5;</code>
         */
        public int getScannedSlices() {
          return scannedSlices_;
        }
        /**
         * <code>optional int32 scannedSlices = 5;</code>
         */
        public Builder setScannedSlices(int value) {
          bitField0_ |= 0x00000010;
          scannedSlices_ = value;
          onChanged();
          return this;
        }
        /**
         * <code>optional int32 scannedSlices = 5;</code>
         */
        public Builder clearScannedSlices() {
          bitField0_ = (bitField0_ & ~0x00000010);
          scannedSlices_ = 0;
          onChanged();
          return this;
        }

        // @@protoc_insertion_point(builder_scope:IIResponseInternal.Stats)
      }

      static {
        defaultInstance = new Stats(true);
        defaultInstance.initFields();
      }

      // @@protoc_insertion_point(class_scope:IIResponseInternal.Stats)
    }

    private int bitField0_;
    // repeated .IIResponseInternal.IIRow rows = 1;
    public static final int ROWS_FIELD_NUMBER = 1;
    private java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> rows_;
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    public java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> getRowsList() {
      return rows_;
    }
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    public java.util.List<? extends org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder> 
        getRowsOrBuilderList() {
      return rows_;
    }
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    public int getRowsCount() {
      return rows_.size();
    }
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow getRows(int index) {
      return rows_.get(index);
    }
    /**
     * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
     */
    public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder getRowsOrBuilder(
        int index) {
      return rows_.get(index);
    }

    // required .IIResponseInternal.Stats stats = 2;
    public static final int STATS_FIELD_NUMBER = 2;
    private org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats stats_;
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    public boolean hasStats() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats getStats() {
      return stats_;
    }
    /**
     * <code>required .IIResponseInternal.Stats stats = 2;</code>
     */
    public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder getStatsOrBuilder() {
      return stats_;
    }

    private void initFields() {
      rows_ = java.util.Collections.emptyList();
      stats_ = org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasStats()) {
        memoizedIsInitialized = 0;
        return false;
      }
      for (int i = 0; i < getRowsCount(); i++) {
        if (!getRows(i).isInitialized()) {
          memoizedIsInitialized = 0;
          return false;
        }
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      for (int i = 0; i < rows_.size(); i++) {
        output.writeMessage(1, rows_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeMessage(2, stats_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < rows_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, rows_.get(i));
      }
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, stats_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal)) {
        return super.equals(obj);
      }
      org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal other = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal) obj;

      boolean result = true;
      result = result && getRowsList()
          .equals(other.getRowsList());
      result = result && (hasStats() == other.hasStats());
      if (hasStats()) {
        result = result && getStats()
            .equals(other.getStats());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (getRowsCount() > 0) {
        hash = (37 * hash) + ROWS_FIELD_NUMBER;
        hash = (53 * hash) + getRowsList().hashCode();
      }
      if (hasStats()) {
        hash = (37 * hash) + STATS_FIELD_NUMBER;
        hash = (53 * hash) + getStats().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code IIResponseInternal}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternalOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Builder.class);
      }

      // Construct using org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
          getRowsFieldBuilder();
          getStatsFieldBuilder();
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          rowsBuilder_.clear();
        }
        if (statsBuilder_ == null) {
          stats_ = org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance();
        } else {
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponseInternal_descriptor;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal getDefaultInstanceForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.getDefaultInstance();
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal build() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal buildPartial() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal result = new org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (rowsBuilder_ == null) {
          if (((bitField0_ & 0x00000001) == 0x00000001)) {
            rows_ = java.util.Collections.unmodifiableList(rows_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.rows_ = rows_;
        } else {
          result.rows_ = rowsBuilder_.build();
        }
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000001;
        }
        if (statsBuilder_ == null) {
          result.stats_ = stats_;
        } else {
          result.stats_ = statsBuilder_.build();
        }
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal) {
          return mergeFrom((org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal other) {
        if (other == org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.getDefaultInstance()) return this;
        if (rowsBuilder_ == null) {
          if (!other.rows_.isEmpty()) {
            if (rows_.isEmpty()) {
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureRowsIsMutable();
              rows_.addAll(other.rows_);
            }
            onChanged();
          }
        } else {
          if (!other.rows_.isEmpty()) {
            if (rowsBuilder_.isEmpty()) {
              rowsBuilder_.dispose();
              rowsBuilder_ = null;
              rows_ = other.rows_;
              bitField0_ = (bitField0_ & ~0x00000001);
              rowsBuilder_ = 
                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
                   getRowsFieldBuilder() : null;
            } else {
              rowsBuilder_.addAllMessages(other.rows_);
            }
          }
        }
        if (other.hasStats()) {
          mergeStats(other.getStats());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasStats()) {
          
          return false;
        }
        for (int i = 0; i < getRowsCount(); i++) {
          if (!getRows(i).isInitialized()) {
            
            return false;
          }
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // repeated .IIResponseInternal.IIRow rows = 1;
      private java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> rows_ =
        java.util.Collections.emptyList();
      private void ensureRowsIsMutable() {
        if (!((bitField0_ & 0x00000001) == 0x00000001)) {
          rows_ = new java.util.ArrayList<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow>(rows_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder> rowsBuilder_;

      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> getRowsList() {
        if (rowsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(rows_);
        } else {
          return rowsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public int getRowsCount() {
        if (rowsBuilder_ == null) {
          return rows_.size();
        } else {
          return rowsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow getRows(int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);
        } else {
          return rowsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder setRows(
          int index, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.set(index, value);
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder setRows(
          int index, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.set(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder addRows(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder addRows(
          int index, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow value) {
        if (rowsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureRowsIsMutable();
          rows_.add(index, value);
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder addRows(
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder addRows(
          int index, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder builderForValue) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.add(index, builderForValue.build());
          onChanged();
        } else {
          rowsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder addAllRows(
          java.lang.Iterable<? extends org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow> values) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          super.addAll(values, rows_);
          onChanged();
        } else {
          rowsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder clearRows() {
        if (rowsBuilder_ == null) {
          rows_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          rowsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public Builder removeRows(int index) {
        if (rowsBuilder_ == null) {
          ensureRowsIsMutable();
          rows_.remove(index);
          onChanged();
        } else {
          rowsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder getRowsBuilder(
          int index) {
        return getRowsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder getRowsOrBuilder(
          int index) {
        if (rowsBuilder_ == null) {
          return rows_.get(index);  } else {
          return rowsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public java.util.List<? extends org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder> 
           getRowsOrBuilderList() {
        if (rowsBuilder_ != null) {
          return rowsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(rows_);
        }
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder addRowsBuilder() {
        return getRowsFieldBuilder().addBuilder(
            org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.getDefaultInstance());
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder addRowsBuilder(
          int index) {
        return getRowsFieldBuilder().addBuilder(
            index, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.getDefaultInstance());
      }
      /**
       * <code>repeated .IIResponseInternal.IIRow rows = 1;</code>
       */
      public java.util.List<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder> 
           getRowsBuilderList() {
        return getRowsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilder<
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder> 
          getRowsFieldBuilder() {
        if (rowsBuilder_ == null) {
          rowsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRow.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.IIRowOrBuilder>(
                  rows_,
                  ((bitField0_ & 0x00000001) == 0x00000001),
                  getParentForChildren(),
                  isClean());
          rows_ = null;
        }
        return rowsBuilder_;
      }

      // required .IIResponseInternal.Stats stats = 2;
      private org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats stats_ = org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance();
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder> statsBuilder_;
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public boolean hasStats() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats getStats() {
        if (statsBuilder_ == null) {
          return stats_;
        } else {
          return statsBuilder_.getMessage();
        }
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public Builder setStats(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats value) {
        if (statsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          stats_ = value;
          onChanged();
        } else {
          statsBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public Builder setStats(
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder builderForValue) {
        if (statsBuilder_ == null) {
          stats_ = builderForValue.build();
          onChanged();
        } else {
          statsBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public Builder mergeStats(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats value) {
        if (statsBuilder_ == null) {
          if (((bitField0_ & 0x00000002) == 0x00000002) &&
              stats_ != org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance()) {
            stats_ =
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.newBuilder(stats_).mergeFrom(value).buildPartial();
          } else {
            stats_ = value;
          }
          onChanged();
        } else {
          statsBuilder_.mergeFrom(value);
        }
        bitField0_ |= 0x00000002;
        return this;
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public Builder clearStats() {
        if (statsBuilder_ == null) {
          stats_ = org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.getDefaultInstance();
          onChanged();
        } else {
          statsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000002);
        return this;
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder getStatsBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getStatsFieldBuilder().getBuilder();
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder getStatsOrBuilder() {
        if (statsBuilder_ != null) {
          return statsBuilder_.getMessageOrBuilder();
        } else {
          return stats_;
        }
      }
      /**
       * <code>required .IIResponseInternal.Stats stats = 2;</code>
       */
      private com.google.protobuf.SingleFieldBuilder<
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder> 
          getStatsFieldBuilder() {
        if (statsBuilder_ == null) {
          statsBuilder_ = new com.google.protobuf.SingleFieldBuilder<
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.Stats.Builder, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseInternal.StatsOrBuilder>(
                  stats_,
                  getParentForChildren(),
                  isClean());
          stats_ = null;
        }
        return statsBuilder_;
      }

      // @@protoc_insertion_point(builder_scope:IIResponseInternal)
    }

    static {
      defaultInstance = new IIResponseInternal(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:IIResponseInternal)
  }

  public interface IIResponseOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // required bytes blob = 1;
    /**
     * <code>required bytes blob = 1;</code>
     */
    boolean hasBlob();
    /**
     * <code>required bytes blob = 1;</code>
     */
    com.google.protobuf.ByteString getBlob();
  }
  /**
   * Protobuf type {@code IIResponse}
   */
  public static final class IIResponse extends
      com.google.protobuf.GeneratedMessage
      implements IIResponseOrBuilder {
    // Use IIResponse.newBuilder() to construct.
    private IIResponse(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private IIResponse(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final IIResponse defaultInstance;
    public static IIResponse getDefaultInstance() {
      return defaultInstance;
    }

    public IIResponse getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private IIResponse(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 10: {
              bitField0_ |= 0x00000001;
              blob_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponse_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponse_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.Builder.class);
    }

    public static com.google.protobuf.Parser<IIResponse> PARSER =
        new com.google.protobuf.AbstractParser<IIResponse>() {
      public IIResponse parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new IIResponse(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<IIResponse> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // required bytes blob = 1;
    public static final int BLOB_FIELD_NUMBER = 1;
    private com.google.protobuf.ByteString blob_;
    /**
     * <code>required bytes blob = 1;</code>
     */
    public boolean hasBlob() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>required bytes blob = 1;</code>
     */
    public com.google.protobuf.ByteString getBlob() {
      return blob_;
    }

    private void initFields() {
      blob_ = com.google.protobuf.ByteString.EMPTY;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      if (!hasBlob()) {
        memoizedIsInitialized = 0;
        return false;
      }
      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeBytes(1, blob_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(1, blob_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse)) {
        return super.equals(obj);
      }
      org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse other = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse) obj;

      boolean result = true;
      result = result && (hasBlob() == other.hasBlob());
      if (hasBlob()) {
        result = result && getBlob()
            .equals(other.getBlob());
      }
      result = result &&
          getUnknownFields().equals(other.getUnknownFields());
      return result;
    }

    private int memoizedHashCode = 0;
    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptorForType().hashCode();
      if (hasBlob()) {
        hash = (37 * hash) + BLOB_FIELD_NUMBER;
        hash = (53 * hash) + getBlob().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code IIResponse}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponseOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponse_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponse_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.class, org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.Builder.class);
      }

      // Construct using org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        blob_ = com.google.protobuf.ByteString.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.internal_static_IIResponse_descriptor;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse getDefaultInstanceForType() {
        return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance();
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse build() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse buildPartial() {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse result = new org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.blob_ = blob_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse) {
          return mergeFrom((org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse other) {
        if (other == org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance()) return this;
        if (other.hasBlob()) {
          setBlob(other.getBlob());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        if (!hasBlob()) {
          
          return false;
        }
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // required bytes blob = 1;
      private com.google.protobuf.ByteString blob_ = com.google.protobuf.ByteString.EMPTY;
      /**
       * <code>required bytes blob = 1;</code>
       */
      public boolean hasBlob() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>required bytes blob = 1;</code>
       */
      public com.google.protobuf.ByteString getBlob() {
        return blob_;
      }
      /**
       * <code>required bytes blob = 1;</code>
       */
      public Builder setBlob(com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000001;
        blob_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>required bytes blob = 1;</code>
       */
      public Builder clearBlob() {
        bitField0_ = (bitField0_ & ~0x00000001);
        blob_ = getDefaultInstance().getBlob();
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:IIResponse)
    }

    static {
      defaultInstance = new IIResponse(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:IIResponse)
  }

  /**
   * Protobuf service {@code RowsService}
   */
  public static abstract class RowsService
      implements com.google.protobuf.Service {
    protected RowsService() {}

    public interface Interface {
      /**
       * <code>rpc getRows(.IIRequest) returns (.IIResponse);</code>
       */
      public abstract void getRows(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request,
          com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse> done);

    }

    public static com.google.protobuf.Service newReflectiveService(
        final Interface impl) {
      return new RowsService() {
        @java.lang.Override
        public  void getRows(
            com.google.protobuf.RpcController controller,
            org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request,
            com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse> done) {
          impl.getRows(controller, request, done);
        }

      };
    }

    public static com.google.protobuf.BlockingService
        newReflectiveBlockingService(final BlockingInterface impl) {
      return new com.google.protobuf.BlockingService() {
        public final com.google.protobuf.Descriptors.ServiceDescriptor
            getDescriptorForType() {
          return getDescriptor();
        }

        public final com.google.protobuf.Message callBlockingMethod(
            com.google.protobuf.Descriptors.MethodDescriptor method,
            com.google.protobuf.RpcController controller,
            com.google.protobuf.Message request)
            throws com.google.protobuf.ServiceException {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.callBlockingMethod() given method descriptor for " +
              "wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return impl.getRows(controller, (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest)request);
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getRequestPrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getRequestPrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

        public final com.google.protobuf.Message
            getResponsePrototype(
            com.google.protobuf.Descriptors.MethodDescriptor method) {
          if (method.getService() != getDescriptor()) {
            throw new java.lang.IllegalArgumentException(
              "Service.getResponsePrototype() given method " +
              "descriptor for wrong service type.");
          }
          switch(method.getIndex()) {
            case 0:
              return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance();
            default:
              throw new java.lang.AssertionError("Can't get here.");
          }
        }

      };
    }

    /**
     * <code>rpc getRows(.IIRequest) returns (.IIResponse);</code>
     */
    public abstract void getRows(
        com.google.protobuf.RpcController controller,
        org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request,
        com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse> done);

    public static final
        com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptor() {
      return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.getDescriptor().getServices().get(0);
    }
    public final com.google.protobuf.Descriptors.ServiceDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }

    public final void callMethod(
        com.google.protobuf.Descriptors.MethodDescriptor method,
        com.google.protobuf.RpcController controller,
        com.google.protobuf.Message request,
        com.google.protobuf.RpcCallback<
          com.google.protobuf.Message> done) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.callMethod() given method descriptor for wrong " +
          "service type.");
      }
      switch(method.getIndex()) {
        case 0:
          this.getRows(controller, (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest)request,
            com.google.protobuf.RpcUtil.<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse>specializeCallback(
              done));
          return;
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getRequestPrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getRequestPrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public final com.google.protobuf.Message
        getResponsePrototype(
        com.google.protobuf.Descriptors.MethodDescriptor method) {
      if (method.getService() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "Service.getResponsePrototype() given method " +
          "descriptor for wrong service type.");
      }
      switch(method.getIndex()) {
        case 0:
          return org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance();
        default:
          throw new java.lang.AssertionError("Can't get here.");
      }
    }

    public static Stub newStub(
        com.google.protobuf.RpcChannel channel) {
      return new Stub(channel);
    }

    public static final class Stub extends org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.RowsService implements Interface {
      private Stub(com.google.protobuf.RpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.RpcChannel channel;

      public com.google.protobuf.RpcChannel getChannel() {
        return channel;
      }

      public  void getRows(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request,
          com.google.protobuf.RpcCallback<org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse> done) {
        channel.callMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance(),
          com.google.protobuf.RpcUtil.generalizeCallback(
            done,
            org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.class,
            org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance()));
      }
    }

    public static BlockingInterface newBlockingStub(
        com.google.protobuf.BlockingRpcChannel channel) {
      return new BlockingStub(channel);
    }

    public interface BlockingInterface {
      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse getRows(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request)
          throws com.google.protobuf.ServiceException;
    }

    private static final class BlockingStub implements BlockingInterface {
      private BlockingStub(com.google.protobuf.BlockingRpcChannel channel) {
        this.channel = channel;
      }

      private final com.google.protobuf.BlockingRpcChannel channel;

      public org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse getRows(
          com.google.protobuf.RpcController controller,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIRequest request)
          throws com.google.protobuf.ServiceException {
        return (org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse) channel.callBlockingMethod(
          getDescriptor().getMethods().get(0),
          controller,
          request,
          org.apache.kylin.storage.hbase.ii.coprocessor.endpoint.generated.IIProtos.IIResponse.getDefaultInstance());
      }

    }

    // @@protoc_insertion_point(class_scope:RowsService)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IIRequest_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IIRequest_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IIResponseInternal_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IIResponseInternal_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IIResponseInternal_IIRow_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IIResponseInternal_IIRow_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IIResponseInternal_Stats_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IIResponseInternal_Stats_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_IIResponse_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_IIResponse_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\ndstorage-hbase/src/main/java/org/apache" +
      "/kylin/storage/hbase/ii/coprocessor/endp" +
      "oint/protobuf/II.proto\"a\n\tIIRequest\022\014\n\004t" +
      "ype\030\001 \002(\014\022\016\n\006filter\030\002 \002(\014\022\021\n\tprojector\030\003" +
      " \002(\014\022\022\n\naggregator\030\004 \002(\014\022\017\n\007tsRange\030\005 \001(" +
      "\014\"\216\002\n\022IIResponseInternal\022\'\n\004rows\030\001 \003(\0132\031" +
      ".IIResponseInternal.IIRow\022(\n\005stats\030\002 \002(\013" +
      "2\031.IIResponseInternal.Stats\032*\n\005IIRow\022\017\n\007" +
      "columns\030\001 \002(\014\022\020\n\010measures\030\002 \001(\014\032y\n\005Stats" +
      "\022\017\n\007myShard\030\001 \001(\005\022\026\n\016latestDataTime\030\002 \001(",
      "\003\022\030\n\020serviceStartTime\030\003 \001(\003\022\026\n\016serviceEn" +
      "dTime\030\004 \001(\003\022\025\n\rscannedSlices\030\005 \001(\005\"\032\n\nII" +
      "Response\022\014\n\004blob\030\001 \002(\01421\n\013RowsService\022\"\n" +
      "\007getRows\022\n.IIRequest\032\013.IIResponseBT\n@org" +
      ".apache.kylin.storage.hbase.ii.coprocess" +
      "or.endpoint.generatedB\010IIProtosH\001\210\001\001\240\001\001"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_IIRequest_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_IIRequest_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IIRequest_descriptor,
              new java.lang.String[] { "Type", "Filter", "Projector", "Aggregator", "TsRange", });
          internal_static_IIResponseInternal_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_IIResponseInternal_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IIResponseInternal_descriptor,
              new java.lang.String[] { "Rows", "Stats", });
          internal_static_IIResponseInternal_IIRow_descriptor =
            internal_static_IIResponseInternal_descriptor.getNestedTypes().get(0);
          internal_static_IIResponseInternal_IIRow_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IIResponseInternal_IIRow_descriptor,
              new java.lang.String[] { "Columns", "Measures", });
          internal_static_IIResponseInternal_Stats_descriptor =
            internal_static_IIResponseInternal_descriptor.getNestedTypes().get(1);
          internal_static_IIResponseInternal_Stats_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IIResponseInternal_Stats_descriptor,
              new java.lang.String[] { "MyShard", "LatestDataTime", "ServiceStartTime", "ServiceEndTime", "ScannedSlices", });
          internal_static_IIResponse_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_IIResponse_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_IIResponse_descriptor,
              new java.lang.String[] { "Blob", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
